<template>
  <div class="my-counter">
    <!-- 绑定点击事件，当点击时数量减一
    绑定change事件，检测输入框数据
    当数据小于等于一时，禁止点击按钮 -->
    <button
      type="button"
      class="btn btn-light"
      :disabled="obj.goods_count <= 1"
      @click="obj.goods_count--"
      @change="changeFn"
    >
      -
    </button>
    <!-- 双向绑定输入框的值 -->
    <input
      type="number"
      class="form-control inp"
      v-model.number="obj.goods_count"
    />
    <!-- 添加点击事件，当点击时，数据加一 -->
    <button type="button" class="btn btn-light" @click="obj.goods_count++">
      +
    </button>
  </div>
</template>

<script>
export default {
  // 接收父组件传来的对象
  props: {
    obj: Object,
  },
  methods: {
    // 当输入框输入的值小于一时，将值变为一
    changeFn() {
      if (obj.goods_count < 1) obj.goods_count = 1
    },
  },
}
</script>

<style lang="less" scoped>
.my-counter {
  display: flex;
  .inp {
    width: 45px;
    text-align: center;
    margin: 0 10px;
    padding: 0 10px;
  }
  .btn,
  .inp {
    transform: scale(0.9);
  }
}
</style>
